opt subtitle "HI-TECH Software Omniscient Code Generator (PRO mode) build 10920"

opt pagewidth 120

	opt pm

	processor	16F886
clrc	macro
	bcf	3,0
	endm
clrz	macro
	bcf	3,2
	endm
setc	macro
	bsf	3,0
	endm
setz	macro
	bsf	3,2
	endm
skipc	macro
	btfss	3,0
	endm
skipz	macro
	btfss	3,2
	endm
skipnc	macro
	btfsc	3,0
	endm
skipnz	macro
	btfsc	3,2
	endm
indf	equ	0
indf0	equ	0
pc	equ	2
pcl	equ	2
status	equ	3
fsr	equ	4
fsr0	equ	4
c	equ	1
z	equ	0
pclath	equ	10
# 13 "main.c"
	psect config,class=CONFIG,delta=2 ;#
# 13 "main.c"
	dw 0xF7FF & 0xFFDF & 0xEFFF & 0xFFFF & 0xFFF7 & 0xFFFC ;#
	FNCALL	_main,_Init_Device
	FNCALL	_main,_SysTime
	FNCALL	_main,_App
	FNCALL	_main,_Out_Drive
	FNCALL	_Out_Drive,_Out_SetPin
	FNCALL	_Init_Device,_Out_Init
	FNCALL	_Init_Device,_SysClock_Init
	FNROOT	_main
	FNCALL	_ISR,_UART_Receiver
	FNCALL	intlevel1,_ISR
	global	intlevel1
	FNROOT	intlevel1
	global	SysTime@Divider_100ms
	global	SysTime@Divider_1Sec
	global	SysTime@Divider_5Sec
	global	SysTime@Divider_500ms
psect	idataBANK0,class=CODE,space=0,delta=2
global __pidataBANK0
__pidataBANK0:
	file	"SysClock.c"
	line	25

;initializer for SysTime@Divider_100ms
	retlw	0Ah

;initializer for SysTime@Divider_1Sec
	retlw	02h

;initializer for SysTime@Divider_5Sec
	retlw	05h

;initializer for SysTime@Divider_500ms
psect	idataCOMMON,class=CODE,space=0,delta=2
global __pidataCOMMON
__pidataCOMMON:
	retlw	032h
	global	_table
psect	strings,class=STRING,delta=2
global __pstrings
__pstrings:
;	global	stringdir,stringtab,__stringbase
stringtab:
;	String table - string pointers are 1 byte each
stringcode:stringdir:
movlw high(stringdir)
movwf pclath
movf fsr,w
incf fsr
	addwf pc
__stringbase:
	retlw	0
psect	strings
	file	"App.c"
	line	83
_table:
	retlw	0
	retlw	0

	retlw	01h
	retlw	0

	retlw	0Ah
	retlw	0

	retlw	03h
	retlw	0

	retlw	064h
	retlw	0

	retlw	05h
	retlw	0

	retlw	0BEh
	retlw	0

	retlw	09h
	retlw	0

	retlw	018h
	retlw	01h

	retlw	011h
	retlw	0

	retlw	072h
	retlw	01h

	retlw	021h
	retlw	0

	retlw	0CCh
	retlw	01h

	retlw	041h
	retlw	0

	retlw	026h
	retlw	02h

	retlw	081h
	retlw	0

	retlw	080h
	retlw	02h

	retlw	01h
	retlw	01h

	retlw	0DAh
	retlw	02h

	retlw	01h
	retlw	02h

	retlw	02Ah
	retlw	03h

	retlw	01h
	retlw	04h

	retlw	084h
	retlw	03h

	retlw	01h
	retlw	08h

	retlw	0DEh
	retlw	03h

	retlw	01h
	retlw	010h

	retlw	038h
	retlw	04h

	retlw	01h
	retlw	020h

	retlw	04Ch
	retlw	04h

	retlw	0
	retlw	0

	global	_table
	global	_UART_Receive_Buffer
	global	_Out_Status
	global	_tcnt
	global	_app_state
	global	_pUART_Receive_Buffer
	global	_step
	global	_TimeI_10ms
	global	_Time_1000ms
	global	_Time_100ms
	global	_Time_500ms
	global	_UART_Receive_Complete
	global	_PORTA
_PORTA	set	5
	global	_PORTB
_PORTB	set	6
	global	_PORTC
_PORTC	set	7
	global	_PORTE
_PORTE	set	9
	global	_RCREG
_RCREG	set	26
	global	_TMR0
_TMR0	set	1
	global	_GIE
_GIE	set	95
	global	_PEIE
_PEIE	set	94
	global	_RA0
_RA0	set	40
	global	_RA1
_RA1	set	41
	global	_RA2
_RA2	set	42
	global	_RA3
_RA3	set	43
	global	_RA4
_RA4	set	44
	global	_RA5
_RA5	set	45
	global	_RA7
_RA7	set	47
	global	_RB3
_RB3	set	51
	global	_RB4
_RB4	set	52
	global	_RB5
_RB5	set	53
	global	_RB7
_RB7	set	55
	global	_RC2
_RC2	set	58
	global	_RC5
_RC5	set	61
	global	_RC6
_RC6	set	62
	global	_RC7
_RC7	set	63
	global	_RCIF
_RCIF	set	101
	global	_RE3
_RE3	set	75
	global	_T0IE
_T0IE	set	93
	global	_T0IF
_T0IF	set	90
	global	_OPTION_REG
_OPTION_REG	set	129
	global	_OSCCON
_OSCCON	set	143
	global	_TRISA0
_TRISA0	set	1064
	global	_TRISA1
_TRISA1	set	1065
	global	_TRISA2
_TRISA2	set	1066
	global	_TRISA3
_TRISA3	set	1067
	global	_TRISA4
_TRISA4	set	1068
	global	_TRISA5
_TRISA5	set	1069
	global	_TRISA7
_TRISA7	set	1071
	global	_TRISB3
_TRISB3	set	1075
	global	_TRISB4
_TRISB4	set	1076
	global	_TRISB5
_TRISB5	set	1077
	global	_TRISB7
_TRISB7	set	1079
	global	_TRISC2
_TRISC2	set	1082
	global	_TRISC5
_TRISC5	set	1085
	global	_TRISC6
_TRISC6	set	1086
	global	_TRISC7
_TRISC7	set	1087
	global	_CM2CON0
_CM2CON0	set	264
	global	_CM2CON1
_CM2CON1	set	265
	global	_ANSEL
_ANSEL	set	392
	global	_ANSELH
_ANSELH	set	393
	file	"c15_14rel_rUnversioned.as"
	line	#
psect cinit,class=CODE,delta=2
global start_initialization
start_initialization:

psect	bitbssCOMMON,class=COMMON,bit,space=1
global __pbitbssCOMMON
__pbitbssCOMMON:
_TimeI_10ms:
       ds      1

_Time_1000ms:
       ds      1

_Time_100ms:
       ds      1

_Time_500ms:
       ds      1

_UART_Receive_Complete:
       ds      1

psect	bssCOMMON,class=COMMON,space=1
global __pbssCOMMON
__pbssCOMMON:
_app_state:
       ds      1

_pUART_Receive_Buffer:
       ds      1

_step:
       ds      1

psect	dataCOMMON,class=COMMON,space=1
global __pdataCOMMON
__pdataCOMMON:
	file	"SysClock.c"
	line	25
SysTime@Divider_500ms:
       ds      1

psect	bssBANK0,class=BANK0,space=1
global __pbssBANK0
__pbssBANK0:
_UART_Receive_Buffer:
       ds      32

_Out_Status:
       ds      2

_tcnt:
       ds      2

psect	dataBANK0,class=BANK0,space=1
global __pdataBANK0
__pdataBANK0:
	file	"SysClock.c"
SysTime@Divider_100ms:
       ds      1

psect	dataBANK0
	file	"SysClock.c"
SysTime@Divider_1Sec:
       ds      1

psect	dataBANK0
	file	"SysClock.c"
SysTime@Divider_5Sec:
       ds      1

psect clrtext,class=CODE,delta=2
global clear_ram
;	Called with FSR containing the base address, and
;	W with the last address+1
clear_ram:
	clrwdt			;clear the watchdog before getting into this loop
clrloop:
	clrf	indf		;clear RAM location pointed to by FSR
	incf	fsr,f		;increment pointer
	xorwf	fsr,w		;XOR with final address
	btfsc	status,2	;have we reached the end yet?
	retlw	0		;all done for this memory range, return
	xorwf	fsr,w		;XOR again to restore value
	goto	clrloop		;do the next byte

; Clear objects allocated to BITCOMMON
psect cinit,class=CODE,delta=2
	clrf	((__pbitbssCOMMON/8)+0)&07Fh
; Clear objects allocated to COMMON
psect cinit,class=CODE,delta=2
	clrf	((__pbssCOMMON)+0)&07Fh
	clrf	((__pbssCOMMON)+1)&07Fh
	clrf	((__pbssCOMMON)+2)&07Fh
; Clear objects allocated to BANK0
psect cinit,class=CODE,delta=2
	bcf	status, 7	;select IRP bank0
	movlw	low(__pbssBANK0)
	movwf	fsr
	movlw	low((__pbssBANK0)+024h)
	fcall	clear_ram
; Initialize objects allocated to BANK0
	global __pidataBANK0
psect cinit,class=CODE,delta=2
	fcall	__pidataBANK0+0		;fetch initializer
	movwf	__pdataBANK0+0&07fh		
	fcall	__pidataBANK0+1		;fetch initializer
	movwf	__pdataBANK0+1&07fh		
	fcall	__pidataBANK0+2		;fetch initializer
	movwf	__pdataBANK0+2&07fh		
; Initialize objects allocated to COMMON
	global __pidataCOMMON
psect cinit,class=CODE,delta=2
	fcall	__pidataCOMMON+0		;fetch initializer
	movwf	__pdataCOMMON+0&07fh		
psect cinit,class=CODE,delta=2
global end_of_initialization

;End of C runtime variable initialization code

end_of_initialization:
clrf status
ljmp _main	;jump to C main() function
psect	cstackCOMMON,class=COMMON,space=1
global __pcstackCOMMON
__pcstackCOMMON:
	global	?_Init_Device
?_Init_Device:	; 0 bytes @ 0x0
	global	?_SysTime
?_SysTime:	; 0 bytes @ 0x0
	global	?_App
?_App:	; 0 bytes @ 0x0
	global	?_Out_Drive
?_Out_Drive:	; 0 bytes @ 0x0
	global	?_UART_Receiver
?_UART_Receiver:	; 0 bytes @ 0x0
	global	??_UART_Receiver
??_UART_Receiver:	; 0 bytes @ 0x0
	global	?_Out_Init
?_Out_Init:	; 0 bytes @ 0x0
	global	?_main
?_main:	; 0 bytes @ 0x0
	global	?_SysClock_Init
?_SysClock_Init:	; 0 bytes @ 0x0
	global	?_ISR
?_ISR:	; 0 bytes @ 0x0
	global	UART_Receiver@Rec_Byte
UART_Receiver@Rec_Byte:	; 1 bytes @ 0x0
	ds	1
	global	??_ISR
??_ISR:	; 0 bytes @ 0x1
	ds	4
psect	cstackBANK0,class=BANK0,space=1
global __pcstackBANK0
__pcstackBANK0:
	global	??_Init_Device
??_Init_Device:	; 0 bytes @ 0x0
	global	??_SysTime
??_SysTime:	; 0 bytes @ 0x0
	global	??_App
??_App:	; 0 bytes @ 0x0
	global	??_Out_Init
??_Out_Init:	; 0 bytes @ 0x0
	global	??_SysClock_Init
??_SysClock_Init:	; 0 bytes @ 0x0
	global	?_Out_SetPin
?_Out_SetPin:	; 0 bytes @ 0x0
	global	Out_SetPin@Value
Out_SetPin@Value:	; 1 bytes @ 0x0
	ds	1
	global	??_Out_SetPin
??_Out_SetPin:	; 0 bytes @ 0x1
	global	Out_SetPin@PinNumber
Out_SetPin@PinNumber:	; 1 bytes @ 0x1
	ds	1
	global	??_Out_Drive
??_Out_Drive:	; 0 bytes @ 0x2
	ds	2
	global	Out_Drive@mask
Out_Drive@mask:	; 2 bytes @ 0x4
	ds	2
	global	Out_Drive@i
Out_Drive@i:	; 1 bytes @ 0x6
	ds	1
	global	??_main
??_main:	; 0 bytes @ 0x7
;;Data sizes: Strings 0, constant 60, data 4, bss 39, persistent 0 stack 0
;;Auto spaces:   Size  Autos    Used
;; COMMON          14      5      10
;; BANK0           80      7      46
;; BANK1           80      0       0
;; BANK3           96      0       0
;; BANK2           96      0       0

;;
;; Pointer list with targets:



;;
;; Critical Paths under _main in COMMON
;;
;;   None.
;;
;; Critical Paths under _ISR in COMMON
;;
;;   _ISR->_UART_Receiver
;;
;; Critical Paths under _main in BANK0
;;
;;   _main->_Out_Drive
;;   _Out_Drive->_Out_SetPin
;;
;; Critical Paths under _ISR in BANK0
;;
;;   None.
;;
;; Critical Paths under _main in BANK1
;;
;;   None.
;;
;; Critical Paths under _ISR in BANK1
;;
;;   None.
;;
;; Critical Paths under _main in BANK3
;;
;;   None.
;;
;; Critical Paths under _ISR in BANK3
;;
;;   None.
;;
;; Critical Paths under _main in BANK2
;;
;;   None.
;;
;; Critical Paths under _ISR in BANK2
;;
;;   None.

;;
;;Main: autosize = 0, tempsize = 0, incstack = 0, save=0
;;

;;
;;Call Graph Tables:
;;
;; ---------------------------------------------------------------------------------
;; (Depth) Function   	        Calls       Base Space   Used Autos Params    Refs
;; ---------------------------------------------------------------------------------
;; (0) _main                                                 0     0      0     632
;;                        _Init_Device
;;                            _SysTime
;;                                _App
;;                          _Out_Drive
;; ---------------------------------------------------------------------------------
;; (1) _Out_Drive                                            5     5      0     632
;;                                              2 BANK0      5     5      0
;;                         _Out_SetPin
;; ---------------------------------------------------------------------------------
;; (1) _Init_Device                                          0     0      0       0
;;                           _Out_Init
;;                      _SysClock_Init
;; ---------------------------------------------------------------------------------
;; (2) _Out_SetPin                                           2     1      1     465
;;                                              0 BANK0      2     1      1
;; ---------------------------------------------------------------------------------
;; (2) _Out_Init                                             0     0      0       0
;; ---------------------------------------------------------------------------------
;; (2) _SysClock_Init                                        0     0      0       0
;; ---------------------------------------------------------------------------------
;; (1) _App                                                  3     3      0       0
;;                                              0 BANK0      3     3      0
;; ---------------------------------------------------------------------------------
;; (1) _SysTime                                              0     0      0       0
;; ---------------------------------------------------------------------------------
;; Estimated maximum stack depth 2
;; ---------------------------------------------------------------------------------
;; (Depth) Function   	        Calls       Base Space   Used Autos Params    Refs
;; ---------------------------------------------------------------------------------
;; (3) _ISR                                                  4     4      0      30
;;                                              1 COMMON     4     4      0
;;                      _UART_Receiver
;; ---------------------------------------------------------------------------------
;; (4) _UART_Receiver                                        1     1      0      30
;;                                              0 COMMON     1     1      0
;; ---------------------------------------------------------------------------------
;; Estimated maximum stack depth 4
;; ---------------------------------------------------------------------------------

;; Call Graph Graphs:

;; _main (ROOT)
;;   _Init_Device
;;     _Out_Init
;;     _SysClock_Init
;;   _SysTime
;;   _App
;;   _Out_Drive
;;     _Out_SetPin
;;
;; _ISR (ROOT)
;;   _UART_Receiver
;;

;; Address spaces:

;;Name               Size   Autos  Total    Cost      Usage
;;BANK3               60      0       0       9        0.0%
;;BITBANK3            60      0       0       8        0.0%
;;SFR3                 0      0       0       4        0.0%
;;BITSFR3              0      0       0       4        0.0%
;;BANK2               60      0       0      11        0.0%
;;BITBANK2            60      0       0      10        0.0%
;;SFR2                 0      0       0       5        0.0%
;;BITSFR2              0      0       0       5        0.0%
;;SFR1                 0      0       0       2        0.0%
;;BITSFR1              0      0       0       2        0.0%
;;BANK1               50      0       0       7        0.0%
;;BITBANK1            50      0       0       6        0.0%
;;CODE                 0      0       0       0        0.0%
;;DATA                 0      0      3E      12        0.0%
;;ABS                  0      0      38       3        0.0%
;;NULL                 0      0       0       0        0.0%
;;STACK                0      0       6       2        0.0%
;;BANK0               50      7      2E       5       57.5%
;;BITBANK0            50      0       0       4        0.0%
;;SFR0                 0      0       0       1        0.0%
;;BITSFR0              0      0       0       1        0.0%
;;COMMON               E      5       A       1       71.4%
;;BITCOMMON            E      0       1       0        7.1%
;;EEDATA             100      0       0       0        0.0%

	global	_main
psect	maintext,global,class=CODE,delta=2
global __pmaintext
__pmaintext:

;; *************** function _main *****************
;; Defined at:
;;		line 18 in file "main.c"
;; Parameters:    Size  Location     Type
;;		None
;; Auto vars:     Size  Location     Type
;;		None
;; Return value:  Size  Location     Type
;;		None               void
;; Registers used:
;;		wreg, fsr0l, fsr0h, status,2, status,0, btemp+1, pclath, cstack
;; Tracked objects:
;;		On entry : 17F/0
;;		On exit  : 60/0
;;		Unchanged: FFE00/0
;; Data sizes:     COMMON   BANK0   BANK1   BANK3   BANK2
;;      Params:         0       0       0       0       0
;;      Locals:         0       0       0       0       0
;;      Temps:          0       0       0       0       0
;;      Totals:         0       0       0       0       0
;;Total ram usage:        0 bytes
;; Hardware stack levels required when called:    4
;; This function calls:
;;		_Init_Device
;;		_SysTime
;;		_App
;;		_Out_Drive
;; This function is called by:
;;		Startup code after reset
;; This function uses a non-reentrant model
;;
psect	maintext
	file	"main.c"
	line	18
	global	__size_of_main
	__size_of_main	equ	__end_of_main-_main
	
_main:	
	opt	stack 4
; Regs used in _main: [wreg-fsr0h+status,2+status,0+btemp+1+pclath+cstack]
	line	19
	
l9526:	
	fcall	_Init_Device
	line	22
	
l975:	
	line	23
	fcall	_SysTime
	line	25
	
l9528:	
	fcall	_App
	line	26
	
l9530:	
	fcall	_Out_Drive
	line	27
	goto	l975
	global	start
	ljmp	start
	opt stack 0
psect	maintext
	line	28
GLOBAL	__end_of_main
	__end_of_main:
;; =============== function _main ends ============

	signat	_main,88
	global	_Out_Drive
psect	text307,local,class=CODE,delta=2
global __ptext307
__ptext307:

;; *************** function _Out_Drive *****************
;; Defined at:
;;		line 144 in file "outputs.c"
;; Parameters:    Size  Location     Type
;;		None
;; Auto vars:     Size  Location     Type
;;  mask            2    4[BANK0 ] unsigned int 
;;  i               1    6[BANK0 ] unsigned char 
;; Return value:  Size  Location     Type
;;		None               void
;; Registers used:
;;		wreg, fsr0l, fsr0h, status,2, status,0, pclath, cstack
;; Tracked objects:
;;		On entry : 60/0
;;		On exit  : 60/0
;;		Unchanged: FFE00/0
;; Data sizes:     COMMON   BANK0   BANK1   BANK3   BANK2
;;      Params:         0       0       0       0       0
;;      Locals:         0       3       0       0       0
;;      Temps:          0       2       0       0       0
;;      Totals:         0       5       0       0       0
;;Total ram usage:        5 bytes
;; Hardware stack levels used:    1
;; Hardware stack levels required when called:    3
;; This function calls:
;;		_Out_SetPin
;; This function is called by:
;;		_main
;; This function uses a non-reentrant model
;;
psect	text307
	file	"outputs.c"
	line	144
	global	__size_of_Out_Drive
	__size_of_Out_Drive	equ	__end_of_Out_Drive-_Out_Drive
	
_Out_Drive:	
	opt	stack 4
; Regs used in _Out_Drive: [wreg-fsr0h+status,2+status,0+pclath+cstack]
	line	146
	
l9506:	
	clrf	(Out_Drive@mask)
	incf	(Out_Drive@mask),f
	clrf	(Out_Drive@mask+1)
	line	148
	
l9508:	
	clrf	(Out_Drive@i)
	incf	(Out_Drive@i),f
	line	150
	
l9514:	
	movf	(Out_Drive@mask),w
	andwf	(_Out_Status),w
	movwf	(??_Out_Drive+0)+0
	movf	(Out_Drive@mask+1),w
	andwf	(_Out_Status+1),w
	movwf	1+(??_Out_Drive+0)+0
	movf	1+(??_Out_Drive+0)+0,w
	iorwf	0+(??_Out_Drive+0)+0,w
	skipnz
	goto	u1321
	goto	u1320
u1321:
	goto	l9518
u1320:
	line	152
	
l9516:	
	clrf	(?_Out_SetPin)
	incf	(?_Out_SetPin),f
	movf	(Out_Drive@i),w
	fcall	_Out_SetPin
	line	153
	goto	l9520
	line	156
	
l9518:	
	clrf	(?_Out_SetPin)
	movf	(Out_Drive@i),w
	fcall	_Out_SetPin
	line	159
	
l9520:	
	clrc
	rlf	(Out_Drive@mask),f
	rlf	(Out_Drive@mask+1),f
	line	148
	
l9522:	
	incf	(Out_Drive@i),f
	
l9524:	
	movlw	(0Fh)
	subwf	(Out_Drive@i),w
	skipc
	goto	u1331
	goto	u1330
u1331:
	goto	l9514
u1330:
	line	161
	
l5888:	
	return
	opt stack 0
GLOBAL	__end_of_Out_Drive
	__end_of_Out_Drive:
;; =============== function _Out_Drive ends ============

	signat	_Out_Drive,88
	global	_Init_Device
psect	text308,local,class=CODE,delta=2
global __ptext308
__ptext308:

;; *************** function _Init_Device *****************
;; Defined at:
;;		line 14 in file "Init.c"
;; Parameters:    Size  Location     Type
;;		None
;; Auto vars:     Size  Location     Type
;;		None
;; Return value:  Size  Location     Type
;;		None               void
;; Registers used:
;;		wreg, status,2, status,0, pclath, cstack
;; Tracked objects:
;;		On entry : 17F/0
;;		On exit  : 60/0
;;		Unchanged: FFE00/0
;; Data sizes:     COMMON   BANK0   BANK1   BANK3   BANK2
;;      Params:         0       0       0       0       0
;;      Locals:         0       0       0       0       0
;;      Temps:          0       0       0       0       0
;;      Totals:         0       0       0       0       0
;;Total ram usage:        0 bytes
;; Hardware stack levels used:    1
;; Hardware stack levels required when called:    3
;; This function calls:
;;		_Out_Init
;;		_SysClock_Init
;; This function is called by:
;;		_main
;; This function uses a non-reentrant model
;;
psect	text308
	file	"Init.c"
	line	14
	global	__size_of_Init_Device
	__size_of_Init_Device	equ	__end_of_Init_Device-_Init_Device
	
_Init_Device:	
	opt	stack 4
; Regs used in _Init_Device: [wreg+status,2+status,0+pclath+cstack]
	line	15
	
l9492:	
	clrf	(5)	;volatile
	line	16
	clrf	(6)	;volatile
	line	17
	clrf	(7)	;volatile
	line	18
	clrf	(9)	;volatile
	line	21
	bsf	status, 6	;RP1=1, select bank2
	clrf	(264)^0100h	;volatile
	line	22
	clrf	(265)^0100h	;volatile
	line	24
	bsf	status, 5	;RP0=1, select bank3
	clrf	(392)^0180h	;volatile
	line	25
	clrf	(393)^0180h	;volatile
	line	27
	
l9494:	
	movlw	(070h)
	bcf	status, 6	;RP1=0, select bank1
	movwf	(143)^080h	;volatile
	line	29
	
l9496:	
	bcf	(1082/8)^080h,(1082)&7
	line	31
	
l9498:	
	fcall	_Out_Init
	line	33
	
l9500:	
	fcall	_SysClock_Init
	line	37
	
l9502:	
	bsf	(94/8),(94)&7
	line	39
	bcf	status, 5	;RP0=0, select bank0
	clrf	(_Out_Status)
	clrf	(_Out_Status+1)
	line	40
	
l9504:	
	bsf	(95/8),(95)&7
	line	41
	
l4892:	
	return
	opt stack 0
GLOBAL	__end_of_Init_Device
	__end_of_Init_Device:
;; =============== function _Init_Device ends ============

	signat	_Init_Device,88
	global	_Out_SetPin
psect	text309,local,class=CODE,delta=2
global __ptext309
__ptext309:

;; *************** function _Out_SetPin *****************
;; Defined at:
;;		line 75 in file "outputs.c"
;; Parameters:    Size  Location     Type
;;  PinNumber       1    wreg     unsigned char 
;;  Value           1    0[BANK0 ] unsigned char 
;; Auto vars:     Size  Location     Type
;;  PinNumber       1    1[BANK0 ] unsigned char 
;; Return value:  Size  Location     Type
;;		None               void
;; Registers used:
;;		wreg, fsr0l, fsr0h, status,2, status,0
;; Tracked objects:
;;		On entry : 60/0
;;		On exit  : 60/0
;;		Unchanged: FFE00/0
;; Data sizes:     COMMON   BANK0   BANK1   BANK3   BANK2
;;      Params:         0       1       0       0       0
;;      Locals:         0       1       0       0       0
;;      Temps:          0       0       0       0       0
;;      Totals:         0       2       0       0       0
;;Total ram usage:        2 bytes
;; Hardware stack levels used:    1
;; Hardware stack levels required when called:    2
;; This function calls:
;;		Nothing
;; This function is called by:
;;		_Out_Drive
;; This function uses a non-reentrant model
;;
psect	text309
	file	"outputs.c"
	line	75
	global	__size_of_Out_SetPin
	__size_of_Out_SetPin	equ	__end_of_Out_SetPin-_Out_SetPin
	
_Out_SetPin:	
	opt	stack 4
; Regs used in _Out_SetPin: [wreg-fsr0h+status,2+status,0]
	movwf	(Out_SetPin@PinNumber)
	line	76
	
l9488:	
	goto	l9490
	line	78
	
l5865:	
	line	79
	btfsc	(Out_SetPin@Value),0
	goto	u1041
	goto	u1040
	
u1041:
	bcf	status, 5	;RP0=0, select bank0
	bcf	status, 6	;RP1=0, select bank0
	bsf	(62/8),(62)&7
	goto	u1054
u1040:
	bcf	status, 5	;RP0=0, select bank0
	bcf	status, 6	;RP1=0, select bank0
	bcf	(62/8),(62)&7
u1054:
	line	80
	goto	l5881
	line	82
	
l5867:	
	line	83
	btfsc	(Out_SetPin@Value),0
	goto	u1061
	goto	u1060
	
u1061:
	bcf	status, 5	;RP0=0, select bank0
	bcf	status, 6	;RP1=0, select bank0
	bsf	(47/8),(47)&7
	goto	u1074
u1060:
	bcf	status, 5	;RP0=0, select bank0
	bcf	status, 6	;RP1=0, select bank0
	bcf	(47/8),(47)&7
u1074:
	line	84
	goto	l5881
	line	86
	
l5868:	
	line	87
	btfsc	(Out_SetPin@Value),0
	goto	u1081
	goto	u1080
	
u1081:
	bcf	status, 5	;RP0=0, select bank0
	bcf	status, 6	;RP1=0, select bank0
	bsf	(45/8),(45)&7
	goto	u1094
u1080:
	bcf	status, 5	;RP0=0, select bank0
	bcf	status, 6	;RP1=0, select bank0
	bcf	(45/8),(45)&7
u1094:
	line	88
	goto	l5881
	line	90
	
l5869:	
	line	91
	btfsc	(Out_SetPin@Value),0
	goto	u1101
	goto	u1100
	
u1101:
	bcf	status, 5	;RP0=0, select bank0
	bcf	status, 6	;RP1=0, select bank0
	bsf	(44/8),(44)&7
	goto	u1114
u1100:
	bcf	status, 5	;RP0=0, select bank0
	bcf	status, 6	;RP1=0, select bank0
	bcf	(44/8),(44)&7
u1114:
	line	92
	goto	l5881
	line	94
	
l5870:	
	line	95
	btfsc	(Out_SetPin@Value),0
	goto	u1121
	goto	u1120
	
u1121:
	bcf	status, 5	;RP0=0, select bank0
	bcf	status, 6	;RP1=0, select bank0
	bsf	(61/8),(61)&7
	goto	u1134
u1120:
	bcf	status, 5	;RP0=0, select bank0
	bcf	status, 6	;RP1=0, select bank0
	bcf	(61/8),(61)&7
u1134:
	line	96
	goto	l5881
	line	98
	
l5871:	
	line	99
	btfsc	(Out_SetPin@Value),0
	goto	u1141
	goto	u1140
	
u1141:
	bcf	status, 5	;RP0=0, select bank0
	bcf	status, 6	;RP1=0, select bank0
	bsf	(63/8),(63)&7
	goto	u1154
u1140:
	bcf	status, 5	;RP0=0, select bank0
	bcf	status, 6	;RP1=0, select bank0
	bcf	(63/8),(63)&7
u1154:
	line	100
	goto	l5881
	line	102
	
l5872:	
	line	103
	btfsc	(Out_SetPin@Value),0
	goto	u1161
	goto	u1160
	
u1161:
	bcf	status, 5	;RP0=0, select bank0
	bcf	status, 6	;RP1=0, select bank0
	bsf	(52/8),(52)&7
	goto	u1174
u1160:
	bcf	status, 5	;RP0=0, select bank0
	bcf	status, 6	;RP1=0, select bank0
	bcf	(52/8),(52)&7
u1174:
	line	104
	goto	l5881
	line	106
	
l5873:	
	line	107
	btfsc	(Out_SetPin@Value),0
	goto	u1181
	goto	u1180
	
u1181:
	bcf	status, 5	;RP0=0, select bank0
	bcf	status, 6	;RP1=0, select bank0
	bsf	(53/8),(53)&7
	goto	u1194
u1180:
	bcf	status, 5	;RP0=0, select bank0
	bcf	status, 6	;RP1=0, select bank0
	bcf	(53/8),(53)&7
u1194:
	line	108
	goto	l5881
	line	110
	
l5874:	
	line	111
	btfsc	(Out_SetPin@Value),0
	goto	u1201
	goto	u1200
	
u1201:
	bcf	status, 5	;RP0=0, select bank0
	bcf	status, 6	;RP1=0, select bank0
	bsf	(55/8),(55)&7
	goto	u1214
u1200:
	bcf	status, 5	;RP0=0, select bank0
	bcf	status, 6	;RP1=0, select bank0
	bcf	(55/8),(55)&7
u1214:
	line	112
	goto	l5881
	line	114
	
l5875:	
	line	115
	btfsc	(Out_SetPin@Value),0
	goto	u1221
	goto	u1220
	
u1221:
	bcf	status, 5	;RP0=0, select bank0
	bcf	status, 6	;RP1=0, select bank0
	bsf	(51/8),(51)&7
	goto	u1234
u1220:
	bcf	status, 5	;RP0=0, select bank0
	bcf	status, 6	;RP1=0, select bank0
	bcf	(51/8),(51)&7
u1234:
	line	116
	goto	l5881
	line	118
	
l5876:	
	line	119
	btfsc	(Out_SetPin@Value),0
	goto	u1241
	goto	u1240
	
u1241:
	bcf	status, 5	;RP0=0, select bank0
	bcf	status, 6	;RP1=0, select bank0
	bsf	(43/8),(43)&7
	goto	u1254
u1240:
	bcf	status, 5	;RP0=0, select bank0
	bcf	status, 6	;RP1=0, select bank0
	bcf	(43/8),(43)&7
u1254:
	line	120
	goto	l5881
	line	122
	
l5877:	
	line	123
	btfsc	(Out_SetPin@Value),0
	goto	u1261
	goto	u1260
	
u1261:
	bcf	status, 5	;RP0=0, select bank0
	bcf	status, 6	;RP1=0, select bank0
	bsf	(42/8),(42)&7
	goto	u1274
u1260:
	bcf	status, 5	;RP0=0, select bank0
	bcf	status, 6	;RP1=0, select bank0
	bcf	(42/8),(42)&7
u1274:
	line	124
	goto	l5881
	line	126
	
l5878:	
	line	127
	btfsc	(Out_SetPin@Value),0
	goto	u1281
	goto	u1280
	
u1281:
	bcf	status, 5	;RP0=0, select bank0
	bcf	status, 6	;RP1=0, select bank0
	bsf	(41/8),(41)&7
	goto	u1294
u1280:
	bcf	status, 5	;RP0=0, select bank0
	bcf	status, 6	;RP1=0, select bank0
	bcf	(41/8),(41)&7
u1294:
	line	128
	goto	l5881
	line	130
	
l5879:	
	line	131
	btfsc	(Out_SetPin@Value),0
	goto	u1301
	goto	u1300
	
u1301:
	bcf	status, 5	;RP0=0, select bank0
	bcf	status, 6	;RP1=0, select bank0
	bsf	(40/8),(40)&7
	goto	u1314
u1300:
	bcf	status, 5	;RP0=0, select bank0
	bcf	status, 6	;RP1=0, select bank0
	bcf	(40/8),(40)&7
u1314:
	line	132
	goto	l5881
	line	76
	
l9490:	
	movf	(Out_SetPin@PinNumber),w
	; Switch size 1, requested type "space"
; Number of cases is 14, Range of values is 1 to 14
; switch strategies available:
; Name         Instructions Cycles
; simple_byte           43    22 (average)
; direct_byte           53    11 (fixed)
; jumptable            263     9 (fixed)
;	Chosen strategy is simple_byte

	opt asmopt_off
	xorlw	1^0	; case 1
	skipnz
	goto	l5865
	xorlw	2^1	; case 2
	skipnz
	goto	l5867
	xorlw	3^2	; case 3
	skipnz
	goto	l5868
	xorlw	4^3	; case 4
	skipnz
	goto	l5869
	xorlw	5^4	; case 5
	skipnz
	goto	l5870
	xorlw	6^5	; case 6
	skipnz
	goto	l5871
	xorlw	7^6	; case 7
	skipnz
	goto	l5872
	xorlw	8^7	; case 8
	skipnz
	goto	l5873
	xorlw	9^8	; case 9
	skipnz
	goto	l5874
	xorlw	10^9	; case 10
	skipnz
	goto	l5875
	xorlw	11^10	; case 11
	skipnz
	goto	l5876
	xorlw	12^11	; case 12
	skipnz
	goto	l5877
	xorlw	13^12	; case 13
	skipnz
	goto	l5878
	xorlw	14^13	; case 14
	skipnz
	goto	l5879
	goto	l5881
	opt asmopt_on

	line	141
	
l5881:	
	return
	opt stack 0
GLOBAL	__end_of_Out_SetPin
	__end_of_Out_SetPin:
;; =============== function _Out_SetPin ends ============

	signat	_Out_SetPin,8312
	global	_Out_Init
psect	text310,local,class=CODE,delta=2
global __ptext310
__ptext310:

;; *************** function _Out_Init *****************
;; Defined at:
;;		line 11 in file "outputs.c"
;; Parameters:    Size  Location     Type
;;		None
;; Auto vars:     Size  Location     Type
;;		None
;; Return value:  Size  Location     Type
;;		None               void
;; Registers used:
;;		None
;; Tracked objects:
;;		On entry : 17F/20
;;		On exit  : 17F/20
;;		Unchanged: FFE80/0
;; Data sizes:     COMMON   BANK0   BANK1   BANK3   BANK2
;;      Params:         0       0       0       0       0
;;      Locals:         0       0       0       0       0
;;      Temps:          0       0       0       0       0
;;      Totals:         0       0       0       0       0
;;Total ram usage:        0 bytes
;; Hardware stack levels used:    1
;; Hardware stack levels required when called:    2
;; This function calls:
;;		Nothing
;; This function is called by:
;;		_Init_Device
;; This function uses a non-reentrant model
;;
psect	text310
	file	"outputs.c"
	line	11
	global	__size_of_Out_Init
	__size_of_Out_Init	equ	__end_of_Out_Init-_Out_Init
	
_Out_Init:	
	opt	stack 4
; Regs used in _Out_Init: []
	line	12
	
l9486:	
	bcf	status, 5	;RP0=0, select bank0
	bcf	(62/8),(62)&7
	line	13
	bsf	status, 5	;RP0=1, select bank1
	bcf	(1086/8)^080h,(1086)&7
	line	14
	bcf	status, 5	;RP0=0, select bank0
	bcf	(47/8),(47)&7
	line	15
	bsf	status, 5	;RP0=1, select bank1
	bcf	(1071/8)^080h,(1071)&7
	line	16
	bcf	status, 5	;RP0=0, select bank0
	bcf	(45/8),(45)&7
	line	17
	bsf	status, 5	;RP0=1, select bank1
	bcf	(1069/8)^080h,(1069)&7
	line	18
	bcf	status, 5	;RP0=0, select bank0
	bcf	(44/8),(44)&7
	line	19
	bsf	status, 5	;RP0=1, select bank1
	bcf	(1068/8)^080h,(1068)&7
	line	20
	bcf	status, 5	;RP0=0, select bank0
	bcf	(61/8),(61)&7
	line	21
	bsf	status, 5	;RP0=1, select bank1
	bcf	(1085/8)^080h,(1085)&7
	line	22
	bcf	status, 5	;RP0=0, select bank0
	bcf	(63/8),(63)&7
	line	23
	bsf	status, 5	;RP0=1, select bank1
	bcf	(1087/8)^080h,(1087)&7
	line	24
	bcf	status, 5	;RP0=0, select bank0
	bcf	(52/8),(52)&7
	line	25
	bsf	status, 5	;RP0=1, select bank1
	bcf	(1076/8)^080h,(1076)&7
	line	26
	bcf	status, 5	;RP0=0, select bank0
	bcf	(53/8),(53)&7
	line	27
	bsf	status, 5	;RP0=1, select bank1
	bcf	(1077/8)^080h,(1077)&7
	line	28
	bcf	status, 5	;RP0=0, select bank0
	bcf	(55/8),(55)&7
	line	29
	bsf	status, 5	;RP0=1, select bank1
	bcf	(1079/8)^080h,(1079)&7
	line	30
	bcf	status, 5	;RP0=0, select bank0
	bcf	(51/8),(51)&7
	line	31
	bsf	status, 5	;RP0=1, select bank1
	bcf	(1075/8)^080h,(1075)&7
	line	32
	bcf	status, 5	;RP0=0, select bank0
	bcf	(43/8),(43)&7
	line	33
	bsf	status, 5	;RP0=1, select bank1
	bcf	(1067/8)^080h,(1067)&7
	line	35
	bcf	status, 5	;RP0=0, select bank0
	bcf	(42/8),(42)&7
	line	36
	bsf	status, 5	;RP0=1, select bank1
	bcf	(1066/8)^080h,(1066)&7
	line	38
	bcf	status, 5	;RP0=0, select bank0
	bcf	(41/8),(41)&7
	line	39
	bsf	status, 5	;RP0=1, select bank1
	bcf	(1065/8)^080h,(1065)&7
	line	41
	bcf	status, 5	;RP0=0, select bank0
	bcf	(40/8),(40)&7
	line	42
	bsf	status, 5	;RP0=1, select bank1
	bcf	(1064/8)^080h,(1064)&7
	line	47
	bcf	status, 5	;RP0=0, select bank0
	bcf	(58/8),(58)&7
	line	48
	bsf	status, 5	;RP0=1, select bank1
	bcf	(1082/8)^080h,(1082)&7
	line	50
	
l5861:	
	return
	opt stack 0
GLOBAL	__end_of_Out_Init
	__end_of_Out_Init:
;; =============== function _Out_Init ends ============

	signat	_Out_Init,88
	global	_SysClock_Init
psect	text311,local,class=CODE,delta=2
global __ptext311
__ptext311:

;; *************** function _SysClock_Init *****************
;; Defined at:
;;		line 14 in file "SysClock.c"
;; Parameters:    Size  Location     Type
;;		None
;; Auto vars:     Size  Location     Type
;;		None
;; Return value:  Size  Location     Type
;;		None               void
;; Registers used:
;;		wreg, status,2
;; Tracked objects:
;;		On entry : 17F/20
;;		On exit  : 60/20
;;		Unchanged: FFE00/0
;; Data sizes:     COMMON   BANK0   BANK1   BANK3   BANK2
;;      Params:         0       0       0       0       0
;;      Locals:         0       0       0       0       0
;;      Temps:          0       0       0       0       0
;;      Totals:         0       0       0       0       0
;;Total ram usage:        0 bytes
;; Hardware stack levels used:    1
;; Hardware stack levels required when called:    2
;; This function calls:
;;		Nothing
;; This function is called by:
;;		_Init_Device
;; This function uses a non-reentrant model
;;
psect	text311
	file	"SysClock.c"
	line	14
	global	__size_of_SysClock_Init
	__size_of_SysClock_Init	equ	__end_of_SysClock_Init-_SysClock_Init
	
_SysClock_Init:	
	opt	stack 4
; Regs used in _SysClock_Init: [wreg+status,2]
	line	15
	
l9476:	
# 15 "SysClock.c"
clrwdt ;#
psect	text311
	line	16
	
l9478:	
	bcf	status, 5	;RP0=0, select bank0
	bcf	status, 6	;RP1=0, select bank0
	clrf	(1)	;volatile
	line	17
	bsf	status, 5	;RP0=1, select bank1
	clrf	(129)^080h	;volatile
	line	18
	
l9480:	
	movlw	(06h)
	movwf	(129)^080h	;volatile
	line	19
	
l9482:	
	bcf	(90/8),(90)&7
	line	20
	
l9484:	
	bsf	(93/8),(93)&7
	line	21
	
l2930:	
	return
	opt stack 0
GLOBAL	__end_of_SysClock_Init
	__end_of_SysClock_Init:
;; =============== function _SysClock_Init ends ============

	signat	_SysClock_Init,88
	global	_App
psect	text312,local,class=CODE,delta=2
global __ptext312
__ptext312:

;; *************** function _App *****************
;; Defined at:
;;		line 107 in file "App.c"
;; Parameters:    Size  Location     Type
;;		None
;; Auto vars:     Size  Location     Type
;;		None
;; Return value:  Size  Location     Type
;;		None               void
;; Registers used:
;;		wreg, fsr0l, fsr0h, status,2, status,0, btemp+1, pclath
;; Tracked objects:
;;		On entry : 60/0
;;		On exit  : 60/0
;;		Unchanged: FFF9F/0
;; Data sizes:     COMMON   BANK0   BANK1   BANK3   BANK2
;;      Params:         0       0       0       0       0
;;      Locals:         0       0       0       0       0
;;      Temps:          0       3       0       0       0
;;      Totals:         0       3       0       0       0
;;Total ram usage:        3 bytes
;; Hardware stack levels used:    1
;; Hardware stack levels required when called:    2
;; This function calls:
;;		Nothing
;; This function is called by:
;;		_main
;; This function uses a non-reentrant model
;;
psect	text312
	file	"App.c"
	line	107
	global	__size_of_App
	__size_of_App	equ	__end_of_App-_App
	
_App:	
	opt	stack 5
; Regs used in _App: [wreg-fsr0h+status,2+status,0+btemp+1+pclath]
	line	109
	
l9448:	
	movf	(_app_state),w
	xorlw	02h
	skipnz
	goto	u961
	goto	u960
u961:
	goto	l9454
u960:
	
l9450:	
	btfss	(_Time_500ms/8),(_Time_500ms)&7
	goto	u971
	goto	u970
u971:
	goto	l9454
u970:
	line	111
	
l9452:	
	movlw	1<<((58)&7)
	xorwf	((58)/8),f
	line	115
	
l9454:	
	btfsc	(75/8),(75)&7
	goto	u981
	goto	u980
u981:
	goto	l7869
u980:
	
l9456:	
	btfsc	(_Time_100ms/8),(_Time_100ms)&7
	goto	u991
	goto	u990
u991:
	goto	l9460
u990:
	
l7869:	
	btfss	(75/8),(75)&7
	goto	u1001
	goto	u1000
u1001:
	goto	l9474
u1000:
	
l9458:	
	btfss	(_Time_1000ms/8),(_Time_1000ms)&7
	goto	u1011
	goto	u1010
u1011:
	goto	l9474
u1010:
	line	117
	
l9460:	
	incf	(_tcnt),f
	skipnz
	incf	(_tcnt+1),f
	goto	l9474
	line	122
	
l7871:	
	line	123
	clrf	(_app_state)
	incf	(_app_state),f
	line	124
	
l9462:	
	clrf	(_tcnt)
	clrf	(_tcnt+1)
	line	125
	clrf	(_step)
	line	128
	
l9464:	
	movf	(_step),w
	movwf	(??_App+0)+0
	clrc
	rlf	(??_App+0)+0,f
	clrc
	rlf	(??_App+0)+0,w
	addlw	low((_table-__stringbase))
	movwf	fsr0
	fcall	stringdir
	movwf	(??_App+1)+0
	fcall	stringdir
	movwf	(??_App+1)+0+1
	movf	(_tcnt+1),w
	xorwf	1+(??_App+1)+0,w
	skipz
	goto	u1025
	movf	(_tcnt),w
	xorwf	0+(??_App+1)+0,w
u1025:

	skipz
	goto	u1021
	goto	u1020
u1021:
	goto	l7877
u1020:
	line	130
	
l9466:	
	movf	(_step),w
	movwf	(??_App+0)+0
	clrc
	rlf	(??_App+0)+0,f
	clrc
	rlf	(??_App+0)+0,w
	addlw	low((_table-__stringbase)+02h)
	movwf	fsr0
	fcall	stringdir
	movwf	(_Out_Status)
	fcall	stringdir
	movwf	(_Out_Status+1)
	line	131
	
l9468:	
	movlw	(0Fh)
	incf	(_step),f
	subwf	((_step)),w
	skipc
	goto	u1031
	goto	u1030
u1031:
	goto	l7877
u1030:
	line	133
	
l9470:	
	movlw	(02h)
	movwf	(_app_state)
	goto	l7877
	line	138
	
l7876:	
	line	139
	bcf	(58/8),(58)&7
	line	140
	goto	l7877
	line	120
	
l9474:	
	movf	(_app_state),w
	; Switch size 1, requested type "space"
; Number of cases is 3, Range of values is 0 to 2
; switch strategies available:
; Name         Instructions Cycles
; simple_byte           10     6 (average)
; direct_byte           17     8 (fixed)
; jumptable            260     6 (fixed)
; rangetable             7     6 (fixed)
; spacedrange           12     9 (fixed)
; locatedrange           3     3 (fixed)
;	Chosen strategy is simple_byte

	opt asmopt_off
	xorlw	0^0	; case 0
	skipnz
	goto	l7871
	xorlw	1^0	; case 1
	skipnz
	goto	l9464
	xorlw	2^1	; case 2
	skipnz
	goto	l7876
	goto	l7877
	opt asmopt_on

	line	142
	
l7877:	
	return
	opt stack 0
GLOBAL	__end_of_App
	__end_of_App:
;; =============== function _App ends ============

	signat	_App,88
	global	_SysTime
psect	text313,local,class=CODE,delta=2
global __ptext313
__ptext313:

;; *************** function _SysTime *****************
;; Defined at:
;;		line 24 in file "SysClock.c"
;; Parameters:    Size  Location     Type
;;		None
;; Auto vars:     Size  Location     Type
;;		None
;; Return value:  Size  Location     Type
;;		None               void
;; Registers used:
;;		wreg
;; Tracked objects:
;;		On entry : 60/0
;;		On exit  : 60/0
;;		Unchanged: FFF9F/0
;; Data sizes:     COMMON   BANK0   BANK1   BANK3   BANK2
;;      Params:         0       0       0       0       0
;;      Locals:         0       0       0       0       0
;;      Temps:          0       0       0       0       0
;;      Totals:         0       0       0       0       0
;;Total ram usage:        0 bytes
;; Hardware stack levels used:    1
;; Hardware stack levels required when called:    2
;; This function calls:
;;		Nothing
;; This function is called by:
;;		_main
;; This function uses a non-reentrant model
;;
psect	text313
	file	"SysClock.c"
	line	24
	global	__size_of_SysTime
	__size_of_SysTime	equ	__end_of_SysTime-_SysTime
	
_SysTime:	
	opt	stack 5
; Regs used in _SysTime: [wreg]
	line	28
	
l9424:	
	bcf	(_Time_100ms/8),(_Time_100ms)&7
	line	29
	bcf	(_Time_500ms/8),(_Time_500ms)&7
	line	30
	bcf	(_Time_1000ms/8),(_Time_1000ms)&7
	line	33
	btfss	(_TimeI_10ms/8),(_TimeI_10ms)&7
	goto	u911
	goto	u910
u911:
	goto	l2946
u910:
	line	35
	
l9426:	
	bcf	(_TimeI_10ms/8),(_TimeI_10ms)&7
	line	38
	decfsz	(SysTime@Divider_100ms),f
	goto	u921
	goto	u920
u921:
	goto	l9432
u920:
	line	40
	
l9428:	
	movlw	(0Ah)
	movwf	(SysTime@Divider_100ms)
	line	41
	
l9430:	
	bsf	(_Time_100ms/8),(_Time_100ms)&7
	line	44
	
l9432:	
	decfsz	(SysTime@Divider_500ms),f
	goto	u931
	goto	u930
u931:
	goto	l2946
u930:
	line	46
	
l9434:	
	movlw	(032h)
	movwf	(SysTime@Divider_500ms)
	line	47
	
l9436:	
	bsf	(_Time_500ms/8),(_Time_500ms)&7
	line	48
	
l9438:	
	decfsz	(SysTime@Divider_1Sec),f
	goto	u941
	goto	u940
u941:
	goto	l2946
u940:
	line	50
	
l9440:	
	movlw	(02h)
	movwf	(SysTime@Divider_1Sec)
	line	51
	
l9442:	
	bsf	(_Time_1000ms/8),(_Time_1000ms)&7
	line	52
	
l9444:	
	decfsz	(SysTime@Divider_5Sec),f
	goto	u951
	goto	u950
u951:
	goto	l2943
u950:
	line	54
	
l9446:	
	movlw	(05h)
	movwf	(SysTime@Divider_5Sec)
	goto	l2946
	line	58
	
l2943:	
	line	60
	
l2946:	
	return
	opt stack 0
GLOBAL	__end_of_SysTime
	__end_of_SysTime:
;; =============== function _SysTime ends ============

	signat	_SysTime,88
	global	_ISR
psect	text314,local,class=CODE,delta=2
global __ptext314
__ptext314:

;; *************** function _ISR *****************
;; Defined at:
;;		line 13 in file "Interrupt.c"
;; Parameters:    Size  Location     Type
;;		None
;; Auto vars:     Size  Location     Type
;;		None
;; Return value:  Size  Location     Type
;;		None               void
;; Registers used:
;;		wreg, fsr0l, fsr0h, fsr1l, fsr1h, status,2, status,0, btemp+1, pclath, cstack
;; Tracked objects:
;;		On entry : 0/0
;;		On exit  : 60/0
;;		Unchanged: FFE9F/0
;; Data sizes:     COMMON   BANK0   BANK1   BANK3   BANK2
;;      Params:         0       0       0       0       0
;;      Locals:         0       0       0       0       0
;;      Temps:          4       0       0       0       0
;;      Totals:         4       0       0       0       0
;;Total ram usage:        4 bytes
;; Hardware stack levels used:    1
;; Hardware stack levels required when called:    1
;; This function calls:
;;		_UART_Receiver
;; This function is called by:
;;		Interrupt level 1
;; This function uses a non-reentrant model
;;
psect	text314
	file	"Interrupt.c"
	line	13
	global	__size_of_ISR
	__size_of_ISR	equ	__end_of_ISR-_ISR
	
_ISR:	
	opt	stack 4
; Regs used in _ISR: [allreg]
psect	intentry,class=CODE,delta=2
global __pintentry
__pintentry:
global interrupt_function
interrupt_function:
	global saved_w
	saved_w	set	btemp+0
	movwf	saved_w
	swapf	status,w
	movwf	(??_ISR+0)
	movf	fsr0,w
	movwf	(??_ISR+1)
	movf	pclath,w
	movwf	(??_ISR+2)
	bcf	status, 5	;RP0=0, select bank0
	bcf	status, 6	;RP1=0, select bank0
	movf	btemp+1,w
	movwf	(??_ISR+3)
	ljmp	_ISR
psect	text314
	line	14
	
i1l9238:	
	btfss	(90/8),(90)&7
	goto	u14_21
	goto	u14_20
u14_21:
	goto	i1l9246
u14_20:
	line	16
	
i1l9240:	
	movlw	(064h)
	movwf	(1)	;volatile
	line	17
	
i1l9242:	
	bsf	(_TimeI_10ms/8),(_TimeI_10ms)&7
	line	18
	
i1l9244:	
	bcf	(90/8),(90)&7
	line	21
	
i1l9246:	
	btfss	(101/8),(101)&7
	goto	u15_21
	goto	u15_20
u15_21:
	goto	i1l3919
u15_20:
	line	23
	
i1l9248:	
	fcall	_UART_Receiver
	line	28
	
i1l9250:	
	bcf	(101/8),(101)&7
	line	38
	
i1l3919:	
	movf	(??_ISR+3),w
	movwf	btemp+1
	movf	(??_ISR+2),w
	movwf	pclath
	movf	(??_ISR+1),w
	movwf	fsr0
	swapf	(??_ISR+0)^0FFFFFF80h,w
	movwf	status
	swapf	saved_w,f
	swapf	saved_w,w
	retfie
	opt stack 0
GLOBAL	__end_of_ISR
	__end_of_ISR:
;; =============== function _ISR ends ============

	signat	_ISR,88
	global	_UART_Receiver
psect	text315,local,class=CODE,delta=2
global __ptext315
__ptext315:

;; *************** function _UART_Receiver *****************
;; Defined at:
;;		line 52 in file "UART.c"
;; Parameters:    Size  Location     Type
;;		None
;; Auto vars:     Size  Location     Type
;;  Rec_Byte        1    0[COMMON] unsigned char 
;; Return value:  Size  Location     Type
;;		None               void
;; Registers used:
;;		wreg, fsr0l, fsr0h, status,2, status,0
;; Tracked objects:
;;		On entry : 60/0
;;		On exit  : 160/0
;;		Unchanged: FFE9F/0
;; Data sizes:     COMMON   BANK0   BANK1   BANK3   BANK2
;;      Params:         0       0       0       0       0
;;      Locals:         1       0       0       0       0
;;      Temps:          0       0       0       0       0
;;      Totals:         1       0       0       0       0
;;Total ram usage:        1 bytes
;; Hardware stack levels used:    1
;; This function calls:
;;		Nothing
;; This function is called by:
;;		_ISR
;; This function uses a non-reentrant model
;;
psect	text315
	file	"UART.c"
	line	52
	global	__size_of_UART_Receiver
	__size_of_UART_Receiver	equ	__end_of_UART_Receiver-_UART_Receiver
	
_UART_Receiver:	
	opt	stack 4
; Regs used in _UART_Receiver: [wreg-fsr0h+status,2+status,0]
	line	53
	
i1l9252:	
	movf	(26),w	;volatile
	movwf	(UART_Receiver@Rec_Byte)
	line	55
	
i1l9254:	
	movf	(_pUART_Receive_Buffer),w
	addlw	_UART_Receive_Buffer&0ffh
	movwf	fsr0
	movf	(UART_Receiver@Rec_Byte),w
	bcf	status, 7	;select IRP bank0
	movwf	indf
	
i1l9256:	
	incf	(_pUART_Receive_Buffer),f
	line	56
	
i1l9258:	
	movlw	(01Fh)
	andwf	(_pUART_Receive_Buffer),f
	line	58
	
i1l9260:	
	movf	(UART_Receiver@Rec_Byte),w
	xorlw	0Dh
	skipz
	goto	u16_21
	goto	u16_20
u16_21:
	goto	i1l6881
u16_20:
	line	60
	
i1l9262:	
	movf	(_pUART_Receive_Buffer),w
	skipz
	goto	u17_20
	goto	i1l6881
u17_20:
	line	62
	
i1l9264:	
	movf	(_pUART_Receive_Buffer),w
	addlw	_UART_Receive_Buffer&0ffh
	movwf	fsr0
	clrf	indf
	line	63
	
i1l9266:	
	clrf	(_pUART_Receive_Buffer)
	line	64
	
i1l9268:	
	bsf	(_UART_Receive_Complete/8),(_UART_Receive_Complete)&7
	line	67
	
i1l6881:	
	return
	opt stack 0
GLOBAL	__end_of_UART_Receiver
	__end_of_UART_Receiver:
;; =============== function _UART_Receiver ends ============

	signat	_UART_Receiver,88
psect	text316,local,class=CODE,delta=2
global __ptext316
__ptext316:
	global	btemp
	btemp set 07Eh

	DABS	1,126,2	;btemp
	global	wtemp0
	wtemp0 set btemp
	end
